home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / tex / macros / latex2e / amslatex / amscd.sty (.txt) < prev    next >
LaTeX Document  |  1995-01-26  |  6KB  |  151 lines

  1. %% This is file `amscd.sty', generated 
  2. %% on <1995/1/26> with the docstrip utility (2.2i).
  3. %% The original source files were:
  4. %% amscd.dtx 
  5. %%% ====================================================================
  6. %%%  @LaTeX-file{
  7. %%%     filename        = "amscd.dtx",
  8. %%%     version         = "1.2beta",
  9. %%%     date            = "11-Oct-1994",
  10. %%%     time            = "15:28:49 EDT",
  11. %%%     author          = "American Mathematical Society",
  12. %%%     copyright       = "Copyright (C) 1994 American Mathematical Society,
  13. %%%                        all rights reserved.  Copying of this file is
  14. %%%                        authorized only if either:
  15. %%%                        (1) you make absolutely no changes to your copy,
  16. %%%                        including name; OR
  17. %%%                        (2) if you do make changes, you first rename it
  18. %%%                        to some other name.",
  19. %%%     address         = "American Mathematical Society,
  20. %%%                        Technical Support,
  21. %%%                        Electronic Products and Services,
  22. %%%                        P. O. Box 6248,
  23. %%%                        Providence, RI 02940,
  24. %%%                        USA",
  25. %%%     telephone       = "401-455-4080 or (in the USA and Canada)
  26. %%%                        800-321-4AMS (321-4267)",
  27. %%%     FAX             = "401-331-3842",
  28. %%%     checksum        = "19687 223 739 8716",
  29. %%%     email           = "tech-support@math.ams.org (Internet)",
  30. %%%     codetable       = "ISO/ASCII",
  31. %%%     keywords        = "latex, amslatex, ams-latex, commutative diagram",
  32. %%%     supported       = "yes",
  33. %%%     abstract        = "This file is part of the AMS-\LaTeX{} package.
  34. %%%                        It is a \LaTeX{} option that adapts the commutative
  35. %%%                        diagram macros of AMS-\TeX{} for use in \LaTeX{}",
  36. %%%     docstring       = "The checksum field above contains a CRC-16
  37. %%%                        checksum as the first value, followed by the
  38. %%%                        equivalent of the standard UNIX wc (word
  39. %%%                        count) utility output of lines, words, and
  40. %%%                        characters.  This is produced by Robert
  41. %%%                        Solovay's checksum utility.",
  42. %%%  }
  43. %%% ====================================================================
  44. \ProvidesPackage{amscd}[1994/10/27 v1.2beta]
  45. \RequirePackage{amsgen}
  46. \@ifundefined{math@cr}{%
  47.   \def\math@cr{{\ifnum0=`}\fi
  48.     \new@ifstar{\global\@eqpen\@M\math@cr@}%
  49.           {\global\@eqpen\interdisplaylinepenalty \math@cr@}}
  50. \def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}}
  51. \def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@
  52.   \noalign{\vskip#1\relax}}
  53. \def\restore@math@cr{\def\math@cr@@@{\cr}}
  54. \restore@math@cr
  55. \def\rightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  56.   $#1\copy\z@\mkern-6mu\cleaders
  57.   \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  58.   \mkern-6mu\mathord\rightarrow$}
  59. \def\leftarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  60.   $#1\mathord\leftarrow\mkern-6mu\cleaders
  61.   \hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
  62.   \mkern-6mu\box\z@$}
  63. \def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
  64.   $#1\mathord\leftarrow\mkern-6mu\cleaders
  65.   \hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
  66.   \mkern-6mu\mathord\rightarrow$}
  67. \def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}
  68. \@ifundefined{Iat}{%
  69.   \DeclareRobustCommand{\Iat}{\FN@\at@}
  70. \begingroup \catcode`\@=\active
  71. \gdef @{\Iat}
  72. \endgroup
  73. \def\at@{\let\next@\at@@
  74.  \ifcat\noexpand\next a\else
  75.  \ifcat\noexpand\next0\else
  76.  \ifcat\noexpand\next\relax\else
  77.  \let\next@\at@@@\fi\fi\fi\next@}
  78. \def\at@@#1{\expandafter
  79.   \ifx\csname\space @\string#1\endcsname\relax
  80.     \DN@{\at@@@#1}%
  81.   \else
  82.     \DN@{\csname\space @\string#1\endcsname}%
  83.   \fi\next@}%
  84. \@ifundefined{default@tag}{%
  85.   \def\default@tag{%
  86.     \def\tag{\PackageError{amscd}{\protect\tag\space not allowed
  87.       here}\@eha}}%
  88. \@ifundefined{at@@@}{%
  89.   \def\at@@@{\PackageError{amscd}{\Invalid@@ @}{\the\athelp@}\char64\relax}
  90. \@ifundefined{athelp@}{\csname newhelp\endcsname\athelp@
  91. {Only certain combinations beginning with @ make sense to me.^^J%
  92. I'll assume you wanted @@ for a printed @.}}{}
  93. \@ifundefined{minaw@}{\newdimen\minaw@}{}
  94. \@ifundefined{bigaw@}{\newdimen\bigaw@}{}
  95. \minaw@11.111pt
  96. \newdimen\minCDarrowwidth
  97. \minCDarrowwidth2.5pc
  98. \newif\ifCD@
  99. \let\ampersand@\relax
  100. \def\CD{\catcode`\@\active
  101.  \bgroup\relax\iffalse{\fi\let\ampersand@&\iffalse}\fi
  102.  \CD@true\vcenter\bgroup\Let@\restore@math@cr\default@tag
  103.  \tabskip\z@skip\baselineskip20\ex@
  104.  \lineskip3\ex@\lineskiplimit3\ex@\halign\bgroup
  105.  &\hfill$\m@th##$\hfill\crcr}
  106. \def\endCD{\crcr\egroup\egroup\egroup}
  107. \def\CD@check#1#2{\ifCD@\DN@{#2}\else
  108.   \DN@{\PackageError{amscd}{@\protect#1 not
  109.     allowed outside of the CD environment}\@eha}%
  110.   \fi\next@}
  111. \atdef@>#1>#2>{\ampersand@
  112.   \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
  113.   \setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}%
  114.   \ifdim\wdz@>\bigaw@\global\bigaw@\wdz@\fi
  115.   \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}%
  116.     \ifdim\wd\@ne>\bigaw@\global\bigaw@\wd\@ne\fi}%
  117.  \ifCD@\enskip\fi
  118.    \mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
  119.      \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
  120.  \ifCD@\enskip\fi \ampersand@}
  121. \atdef@<#1<#2<{\ampersand@
  122.   \ifCD@ \global\bigaw@\minCDarrowwidth \else \global\bigaw@\minaw@ \fi
  123.   \setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}%
  124.   \ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
  125.   \@ifnotempty{#2}{\setbox\@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}%
  126.     \ifdim\wd\@ne>\bigaw@ \global\bigaw@\wd\@ne \fi}%
  127.   \ifCD@\enskip\fi
  128.     \mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
  129.       \limits^{#1}\@ifnotempty{#2}{_{#2}}}%
  130.   \ifCD@\enskip\fi \ampersand@}
  131. \begingroup \catcode`\~=\active \lccode`\~=`\@
  132. \lowercase{%
  133.   \global\atdef@)#1)#2){~>#1>#2>}
  134.   \global\atdef@(#1(#2({~<#1<#2<}
  135. }% end lowercase
  136. \endgroup
  137. \atdef@ A#1A#2A{\CD@check{A..A..A}{\llap{$\m@th\vcenter{\hbox
  138.   {$\scriptstyle#1$}}$}\Big\uparrow
  139.   \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
  140. \atdef@ V#1V#2V{\CD@check{V..V..V}{\llap{$\m@th\vcenter{\hbox
  141.   {$\scriptstyle#1$}}$}\Big\downarrow
  142.   \rlap{$\m@th\vcenter{\hbox{$\scriptstyle#2$}}$}&&}}
  143. \atdef@={\CD@check={&\enskip\mathrel
  144.   {\vbox{\hrule\@width\minCDarrowwidth\vskip2\ex@\hrule\@width
  145.   \minCDarrowwidth}}\enskip&}}
  146. \atdef@|{\CD@check|{\Big\Vert&&}}
  147. \atdef@\vert{\CD@check\vert{\Big\Vert&&}}
  148. \atdef@.{\CD@check.{&&}}
  149. \endinput
  150. %% End of file `amscd.sty'.
  151.